// 以前的写法
import App from './App.vue'
new Vue({
    el:'#app',
    template:`<App></App>`,
    components:{App},
})

// 解析  render是个函数，还能接收到参数  reateElement是个回调函数
new Vue({
    render(createElement) {
        console.log(typeof createElement);
        //  createElement 回调函数能创建元素
        // 因为残缺的vue 不能解析 template，所以render就来帮忙解决这个问题
        // createElement 能创建具体的元素
        return createElement('h1', 'hello')
    }
}).$mount('#app')

// 简写  render 函数内并没有用到 this，可以简写成箭头函数。
new Vue({
    // render: h => h(App),
    render: (createElement) => {
        return createElement(App)
    }
}).$mount('#app')

// 继续简写
new Vue({
    // render: h => h(App),
    render: createElement => createElement(App)
}).$mount('#app')

// createElement 替换成 h
new Vue({
    // render: h => h(App),
    render: h => h(App)
}).$mount('#app')
